package com.d3works.apps.production.service.costsheet;

import com.d3works.apps.base.db.Company;
import com.d3works.apps.production.db.UnitCostCalculation;
import com.d3works.exception.D3worksException;
import com.d3works.meta.db.MetaFile;
import java.io.IOException;

public interface UnitCostCalculationService {

  public MetaFile exportUnitCostCalc(UnitCostCalculation unitCostCalculation, String fileName)
      throws IOException;

  public void importUnitCostCalc(MetaFile dataFile, UnitCostCalculation unitCostCalculation)
      throws IOException;

  public void runUnitCostCalc(UnitCostCalculation unitCostCalculation) throws D3worksException;

  public void updateUnitCosts(UnitCostCalculation unitCostCalculation) throws D3worksException;

  public String createProductSetDomain(UnitCostCalculation unitCostCalculation, Company company)
      throws D3worksException;

  public void fillCompanySet(UnitCostCalculation unitCostCalculation, Company company);

  public Boolean hasDefaultBOMSelected();

  public Company getSingleCompany(UnitCostCalculation unitCostCalculation);
}
